﻿using Microsoft.EntityFrameworkCore;
using OL.FrameCore.Application.SysLog.Dto;
using OL.FrameCore.Infrastructure.Code;
using System;
using System.Collections.Generic;
using System.Text;

namespace OL.FrameCore.Application.SysLog
{
    public interface ISysLogService : IAutoInject
    {
        /// <summary>
        /// 获取用户操作日志列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        PageData<GetUserOperateLogListResponse> GetUserOperateLogList(GetUserOperateLogListRequest request);
        /// <summary>
        /// 获取系统错误日志列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        PageData<GetErrorLogListResponse> GetErrorLogList(GetErrorLogListRequest request);
        /// <summary>
        /// 获取用户登录日志列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        PageData<GetUserLoginLogListResponse> GetUserLoginLogList(GetUserLoginLogListRequest request);
        /// <summary>
        /// 记录错误日志
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Result LogError(LogErrorRequest request);
    }
}
